# 函数的某些参数强制使用关键字参数传递
def recv(maxsize, *, block):
    pass


recv(1024, True)  # TypeError
recv(1024, block=True)  # Ok


def minimum(*values, clip=None):
    m = min(values)
    if clip is not None:
        m = clip if clip > m else m
    return m

minimum(1, 5, 2, -5, 10) # Returns -5
minimum(1, 5, 2, -5, 10, clip=0) # Returns 0